package com.icongyou.enterprise.talent_pool.service;

import com.icongyou.enterprise.talent_pool.entity.dto.TalentDemandDTO;
import com.icongyou.enterprise.talent_pool.entity.vo.*;

import java.util.List;
import java.util.Map;

public interface TalentPoolService {

    List<String> extractTagsFromDemand(String demandText);

    /**
     * 根据人才需求匹配学生（第三步到第七步）
     */
    TalentMatchResultVO matchStudentsByDemand(TalentDemandDTO demandDTO);

    /**
     * 查询核心竞争力label生成结果
     */
    CoreCompetenceResultVO getCoreCompetenceResult(String searchId);

    // 添加异步方法声明
    void generateCoreCompetenceLabelAsync(TalentDemandDTO demandDTO,
                                          List<StudentTalentVO> matchedStudents,
                                          String searchId,
                                          List<AssignmentTagVO> relevantAssignments,
                                          Map<String, List<AssignmentPerformanceVO>> studentPerformances);

}